/**
 * @param {string} s
 * @param {string} p
 * @return {number[]}
 */
var findAnagrams = function (s, p) {
    let l1 = s.length, l2 = p.length
    let arr1 = new Array(26).fill(0)
    let arr2 = new Array(26).fill(0)
    let ans = []
    const check = function(a1, a2) {
        for(let i = 0; i < 26; i++) {
            if(a1[i] !== a2[i]) return false
        }
        return true
    }
    for (let i = 0; i < l2; i++) {
        arr1[p.charCodeAt(i) - 97]++
    }
    for (let l = 0, r = 0; r < l1; r++) {
        arr2[s.charCodeAt(r) - 97]++
        if (r - l + 1 > l2) arr2[s.charCodeAt(l++) - 97]--
        if (check(arr1, arr2)) ans.push(l)
    }
    return ans
};
/**
 * 定义两个数组（长度为26因为最多只有26种字母），分别存储p的词频和窗口的词频。
 * 如果窗口的词频与p的词频相等，那就是答案，将窗口的左边保存。
 * 
 */
console.log(findAnagrams("cbaebabacd", "abc"));